/**
 * fn - 要执行的方法
 * delay - 要计时的时间
 */

function debounce(fn, delay) {
    let timer = null;
    if (timer) {
        // 如果timer存在，说明计时还没有结束，又触发了该事件，将计时清零，重新开始
        clearTimeout(timer);
        setTimeout(() => {}, delay);
    } else {
        setTimeout(() => {}, delay);
    }
}

function throttle(fn, delay) {
    let timer = null;
    return function() {
        if (timer) {
            // 如果timer存在，说明计时还没有结束，不触发
            return;
        } else {
            timer = setTimeout(() => {
                fn();
                clearTimeout(timer);
            }, delay)
        }
    }
}